package util;



import excepciones.AvwException;

import java.io.IOException;
import java.io.InputStream;

import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 * Clase utilizada para obtener los valores de los archivos properties
 */
 public  class Recurso {
 
    private static final Logger logger = Utiles.iniciarLogger("Recurso", false);
    Properties properties;
    
    public Recurso(String recurso)  {
        properties = new Properties();
        try {
            properties.load(obtenerConfiguracion(recurso));
        } catch (IOException ex) {
            logger.log(Level.SEVERE, ex.getMessage(), ex);
        }
    }


    /**
     * Obtiene la direccion de email a la q se deben remitir las ventas
     * @return
     * @throws AvwException
     */
    public  String obtenerPropiedad(String  propiedad) throws AvwException {
        return properties.getProperty(propiedad);
    }
    
    private  InputStream obtenerConfiguracion(String recurso)
    {
        logger.info("Cargo la configuracion.");
        return this.getClass().getClassLoader().getResourceAsStream(recurso);
    }

/*
    /**
     * Obtiene la direccion de email a la q se deben remitir las ventas
     * @return
     * @throws AvwException
     *
    public  String obtenerMailVentas() throws AvwException {

        Properties p = new Properties();
        try {

            p.load(obtenerConfiguracion("mail.properties"));
            return p.getProperty("mailVentas");
        } catch (IOException ex) {
            logger.log(Level.SEVERE, ex.getMessage(), ex);
            throw new AvwException(ex); 
        }
   
    }

    /**
     * @return
     * @throws AvwException
     *
    public  String obtenerMailDefault() throws AvwException {

        Properties p = new Properties();
        try {
            p.load(obtenerConfiguracion("mail.properties"));

        } catch (IOException ex) {
            logger.log(Level.SEVERE, ex.getMessage(), ex);
            throw new AvwException(ex);
        }
        return p.getProperty("mailDefault");
    }

    /**
     * @return
     * @throws AvwException
     *
    public  String obtenerHostSmtp() throws AvwException {

        Properties p = new Properties();
        try {
            p.load(obtenerConfiguracion("mail.properties"));
        } catch (IOException ex) {
            logger.log(Level.SEVERE, ex.getMessage(), ex);
            throw new AvwException(ex);
        }
        return p.getProperty("hostSmtp");
    }
    
    public String obtenerUsuarioMail() throws AvwException {

        Properties p = new Properties();
        try {
            p.load(getClass().getClassLoader().getResourceAsStream("mail.properties"));
        } catch (IOException ex) {
            logger.log(Level.SEVERE, ex.getMessage(), ex);
            throw new AvwException(ex);
        }
        return p.getProperty("usuario");
    }
    
    public String obtenerNombreDefault() throws AvwException {

        Properties p = new Properties();
        try {
            p.load(getClass().getClassLoader().getResourceAsStream("mail.properties"));
        } catch (IOException ex) {
            logger.log(Level.SEVERE, ex.getMessage(), ex);
            throw new AvwException(ex);
        }
        return p.getProperty("mailNombreDefault");
    }

        */
   
}


